// Bring out your Dead - White Wolf character Management System.
// Copyright (C) 2008 Adam Ness
// 
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

using System;
using Boyd.Model;

namespace Boyd.Controller
{
	/// <summary>
	/// Description of CharacterAttributeUpdateEvent.
	/// </summary>
	public class CharacterAttributeUpdateCommand : ICommand
	{
		public CharacterAttributeUpdateCommand()
		{
		}
		
		private Character character;
		private String attributeName;
		private int newRating;
		private int oldRating;
		
		public void Execute() {
			if( AttributeName.Equals("Intelligence")) {
				Character.Intelligence.Rating = NewRating;
			} else if( AttributeName.Equals("Wits")) {
				Character.Wits.Rating = NewRating;
			} else if( AttributeName.Equals("Resolve")) {
				Character.Resolve.Rating = NewRating;
			} else if( AttributeName.Equals("Strength")) {
				Character.Strength.Rating = NewRating;
			} else if( AttributeName.Equals("Dexterity")) {
				Character.Dexterity.Rating = NewRating;
			} else if( AttributeName.Equals("Stamina")) {
				Character.Stamina.Rating = NewRating;
			} else if( AttributeName.Equals("Presence")) {
				Character.Presence.Rating = NewRating;
			} else if( AttributeName.Equals("Manipulation")) {
				Character.Manipulation.Rating = NewRating;
			} else if( AttributeName.Equals("Composure")) {
				Character.Composure.Rating = NewRating;
			} 
		}

		public bool CanUndo() {
			return false;
		}
		
		public void Undo() {
			
		}
		
		public Character Character {
			get { return character; }
			set { character = value; }
		}
		
		public string AttributeName {
			get { return attributeName; }
			set { attributeName = value; }
		}
		
		public int NewRating {
			get { return newRating; }
			set { newRating = value; }
		}
		
		public int OldRating {
			get { return oldRating; }
			set { oldRating = value; }
		}
	}
}
